Código Fonte - O melhor conteúdo para programadores

ASP / Diversos

Criando uma Nuvem de Tags (Tag Clouds) para seu site com ASP


enviado por Gabriel Fróes
É fato que hoje a maioria dos sites, principalmente os blogs, possui a chamada Nuvem de Tags ou Tag Clouds, mas o que é isso?

As Tag Clouds são uma forma diferente de navegação no site através de tags ou legendas, como queiram.

O conceito geral é a de apresentar várias tags agrupadas destacando as que têm mais peso; ou por ser mais utilizado nas pesquisas ou por ser mais popular por alguma razão.

O que importa na verdade é dar ao visitante do site, uma forma diferente e rápida de encontrar apenas clicando na tag em que o visitante ache a melhor.

O código a seguir foi desenvolvido em ASP. É um procedimento (Sub) que realiza a geração de uma área para as Tag Clouds.

Dei o nome do procedimento de doTagClouds e os parâmetros são:
  • Id: Identificação da DIV na qual estarão as tags.
  • Tags: Lista das tags separadas por vírgula com a respectiva indicação de peso (de 1 a 5). Quanto menor for o peso maior será o destaque da tag em relação às outras.
    Exemplo: Programação=5,ASP=2,Código=1
    .
    No exemplo acima a tag "Programação" terá menor destaque, enquanto a tag "Código" terá o maior destaque
  • Link: Este será o link base para criar os links das tags. Será necessário incluir neste link a chave [TAG] para que o procedimento possa substituí-la pela tag propriamente dita.
    Exemplo: http://www.codigofonte.com.br/tags/[TAG]

<%
'-----------------------------------------------------
'Procedimento: doTagClouds(ByVal Id, ByVal Tags, ByVal Link)
'Sinopse: Gera a area das Tags Clouds com até 5 níveis de peso
'Parametro:
'   Id = Id da área das tags
'   Tags = Lista das tags separadas por ","
'         no seguinte formato: Tag=Peso,Tag2=Peso, ...
'   Link = Link para a tag (utilize [TAG] no link 
'          para substituir pela tag)
'Autor: Gabriel Fróes (www.codigofonte.com.br)
'Data: 20/08/2008
'-----------------------------------------------------
Sub doTagClouds(ByVal Id, ByVal Tags, ByVal Link)
   Dim arrTags
   Dim Cont
   Dim Tag
   Dim Peso
   If Not Tags = "" Then
      Response.Write "<div id=""" & Id & """ class=""tag_clouds"">"
      arrTags = Split(Tags, ",")
      For Cont = 0 To Ubound(arrTags)
         Tag = Split(arrTags(Cont), "=")(0)
         Peso = Split(arrTags(Cont), "=")(1)
         Response.Write "<h" & Peso & "><a href=""" & Replace(Link, "[TAG]", Lcase(Tag))  & """>" & Tag & "</a></h" & Peso & ">"
      Next
      Response.Write "<br clear=""all"" /></div>"
   End If
End Sub
%>
<html>
<head>
<title>Nubem de Tags - Tag Clouds com ASP</title>
<style>
.tag_clouds{border:1px solid #2C2E2A;padding:7px;width:350px;background:#71766C}
.tag_clouds h1, .tag_clouds h2, .tag_clouds h3, .tag_clouds h4, .tag_clouds h5{margin:0;padding:0;height:30pt;line-height:30pt;display:inline;float:left;text-align:left}
.tag_clouds h1 a, .tag_clouds h2 a, .tag_clouds h3 a, .tag_clouds h4 a, .tag_clouds h5 a{font:bold italic 10pt 'Trebuchet MS';margin:0 1px;color:#BABEB7;text-decoration:none}
.tag_clouds h1 a{font-size:23pt;color:#FFF}
.tag_clouds h2 a{font-size:20pt}
.tag_clouds h3 a{font-size:18pt}
.tag_clouds h4 a{font-size:14pt}
.tag_clouds h5 a{font-size:10pt;color:#c0c0c0}
</style>
</head>
<body>
<%
'Exemplo de chamada do procedimento
Dim asTags
Dim Link
asTags   = "Programação=1,Asp=2,PHP=3,HTML=4,Programação=5,Asp=1,PHP=1,HTML=3,Programação=5,Asp=4,PHP=2,HTML=4,Programação=5,Asp=1,PHP=2,HTML=3,Wikipedia=1,Asp=2,PHP=3,HTML=4,JavaScript=5,Asp=1,PHP=2,HTML=3,Programação=1,Asp=2,PHP=3,HTML=4,Programação=5,Asp=1,PHP=2,HTML=3"
Link   = "http://www.codigofonte.com.br/tags/[TAG]"
Call doTagClouds("tags", asTags, Link)
%>
</body>
</html>


Versão impressa gerada em: sábado, 7 de novembro de 2009

© Copyright 2006 - R&W Consulting.